package info.inaki.struts2;

import java.util.ArrayList;
import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

public class VentaAction extends ActionSupport implements ModelDriven<Venta> {

	private static final long serialVersionUID = -6659354552584240539L;

	
	private Venta venta = new Venta();
	private List<Venta> listaVentas = new ArrayList<Venta>();
	private VentaDAO ventaDAO = new VentaDAO();
	//private List<Equipo> equipos;
	private TrabajadorDAO trabajadorDAO = new TrabajadorDAO();
	
	@Override
	public Venta getModel() {
		return venta;
	}
	
	/**
	 * To save or update user.
	 * @return String
	 */
	public String guardarOActualizar()
	{	
		ventaDAO.guardarOActualizarVenta(venta);
		return SUCCESS;
	}
	
	/**
	 * To list all users.
	 * @return String
	 */
	public String listar()
	{
		listaVentas = ventaDAO.listarVentas();
		return SUCCESS;
	}
	
	/**
	 * To delete a user.
	 * @return String
	 */
	public String eliminar()
	{
		HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
		ventaDAO.eliminarVenta(Long.parseLong(request.getParameter("id")));
		return SUCCESS;
	}
	
	/**
	 * To list a single user by Id.
	 * @return String
	 */
	public String editar()
	{
		HttpServletRequest request = (HttpServletRequest) ActionContext.getContext().get(ServletActionContext.HTTP_REQUEST);
		venta = ventaDAO.listarVentaPorId(Long.parseLong(request.getParameter("id")));
		return SUCCESS;
	}
	
	public Venta getVenta() {
		return venta;
	}

	public void setVenta(Venta jugador) {
		this.venta = jugador;
	}

	public List<Venta> getListaVentas() {
		return listaVentas;
	}

	public void setListaVentas(List<Venta> listaVentas) {
		this.listaVentas = listaVentas;
	}
	
	public List<Trabajador> getTrabajadores() {

		return trabajadorDAO.listarTrabajadores();
	}

	/**
	 * @return the equipoDAO
	 */
	public TrabajadorDAO getTrabajadorDAO() {
		return trabajadorDAO;
	}

	/**
	 * @param equipoDAO the equipoDAO to set
	 */
	public void setTrabajadorDAO(TrabajadorDAO trabajadorDAO) {
		this.trabajadorDAO = trabajadorDAO;
	}


}

